package net.hn.hnms.biz.plan.controller;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.hn.hnms.biz.plan.service.CoalmineBigScreenSerevice;
import net.hn.hnms.biz.plan.vo.CoalMiningTotalVo;
import net.hn.hnms.biz.plan.vo.CoalMiningYoyMomVo;
import net.hn.hnms.biz.plan.vo.CoalTypeCategoryVo;
import net.hn.hnms.sys.common.core.domain.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@Api(value = "产销掘大屏", tags = {"矿端产销掘大屏相关"})
@RestController
@RequestMapping("CoalmineBigScreen/CoalmineStatistic")
@EnableScheduling
public class CoalmineBigScreenController {



    @Autowired
    private CoalmineBigScreenSerevice coalmineBigScreenSerevice;

    @ApiOperation("大屏-产量 销量 掘进 剥离 同环比")
    @GetMapping("/getSameRingCompare")
    public R<List<CoalMiningYoyMomVo>> getSameRingCompare(@ApiParam("(type1日，2月，3年)") Integer type,@ApiParam("煤矿编码") String mineCode) {
        return R.ok(coalmineBigScreenSerevice.getSameRingCompare(type,mineCode));
    }


    @ApiOperation("大屏-产量 销量  掘近 变化趋势近10年12月30天(type1年，2月，3日)(mineCode煤矿编码)")
    @GetMapping("/getTrendProductionAndSale")
    public R<Map<String, List<CoalMiningTotalVo>>> getTrendProductionAndSale(@ApiParam("(type 1年，2月，3日)")Integer type, @ApiParam("煤矿编码")String mineCode) {
        return R.ok(coalmineBigScreenSerevice.getTrendProductionAndSale(type,mineCode));
    }

    @ApiOperation("大屏-产量 销量 掘进 剥离 情况(type1日，2月，3年)")
    @GetMapping("/getProductionAndSalesExcavationStatus")
    public R<CoalMiningTotalVo> getDailyOutputStatus(@ApiParam("type1日，2月，3年")Integer type, @ApiParam("煤矿编码") String mineCode,@ApiParam("是否携带同环比数据") boolean flag) {
        return R.ok(coalmineBigScreenSerevice.getDailyOutputStatus(type,mineCode,flag));
    }


    @ApiOperation("大屏-计划与执行 本年 （产量 销量  掘近）(mineCode煤矿编码)")
    @GetMapping("/getTrendProductionAndSaleByYear")
    public R<Map<String, List<CoalMiningTotalVo>>> getTrendProductionAndSaleByYear(@ApiParam("年份")Integer year, @ApiParam("煤矿编码")String mineCode) {
        return R.ok(coalmineBigScreenSerevice.getTrendProductionAndSaleByYear(year,mineCode));
    }


    @ApiOperation("大屏-煤种类别(mineName)")
    @GetMapping("/getCoaltypecategoryByMineName")
    public R<List<CoalTypeCategoryVo>> getCoaltypecategoryByMineName(@ApiParam("煤矿名称")String mineName) {
        return R.ok(coalmineBigScreenSerevice.getCoaltypecategoryByMineName(mineName));
    }



}
